package com.yusi.util;

import lombok.SneakyThrows;

import java.lang.reflect.Field;

/**
 * 这是一个表单校验工具,传入表单对象,如果
 * 表单对象中有empty("") 或者 null 则返
 * 回相应的值
 * @author qkmc
 */
public class FieldEmptyValidator<T> {
    public boolean hashNull(T obj){
        return hasNullOrEmptyField(obj);
    }
    @SneakyThrows
    public boolean hasNullOrEmptyField(T obj){
        Class clazz = obj.getClass();
        Field[] fields = clazz.getDeclaredFields();
        for (Field f : fields) {
            if (f.getName().equals("id")){
                continue;
            }
            f.setAccessible(true);
            Object value = f.get(obj);
            if(null == value || value.equals("")){
                return true;
            }
        }
        return false;
    }
}

